#include "stm32f4xx.h"
#include "stm32f4xx_gpio.h"
#include "stm32f4xx_rcc.h"
#include "bsp_key.h"

void KEY_GPIO_Config(void)
{
    /* 1. 开时钟 AHB1 总线*/
    KEY_1_RCC_CLK;

    /* 2. 初始化 GPIO: 方向, 上下拉, 推挽开漏, 速度*/
    GPIO_InitTypeDef GPIO_InitStructure;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
    GPIO_InitStructure.GPIO_Pin = KEY_1_PIN;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
    GPIO_Init(KEY_1_PORT, &GPIO_InitStructure);
}

uint8_t KEY_Scan(void)
{
    if (GPIO_ReadInputDataBit(KEY_1_PORT, KEY_1_PIN) == SET)
    {
        while (GPIO_ReadInputDataBit(KEY_1_PORT, KEY_1_PIN) == SET)
            ;
        return SET;
    }
    return RESET;
}
